import type { MockMethod } from "vite-plugin-mock";
import { RouteRecordRaw } from "vue-router";
import { deepClone, filterByRole, treeSort, resultSuccess } from "../_utils";
import systemMenu from "../_data/system_menu";

// 后端模拟接口：根据 role_id 获取菜单列表
export default [
  {
    url: "/mock/menu/list",
    method: "get",
    timeout: 300,
    response: ({}: any) => {
      //const response = await axios.get('http://localhost:1314/info/main');
      //const { role_id } = response.data; // 接口返回的数据包含 role_id
      let role_id = 0; // 你可以修改这个值来模拟不同角色
      let userRoles: string[];

      // 根据 role_id 判断用户角色
      if (role_id === 0) {
        userRoles = ["admin"]; // 如果 role_id 为 0，则认为是 admin
      } else {
        userRoles = ["common"]; // 否则认为是普通用户
      }

      console.log(userRoles); // 输出角色以进行调试

      // 获取并过滤菜单树
      const originTree: RouteRecordRaw[] = deepClone(systemMenu);
      originTree[0].children = treeSort(filterByRole(originTree[0].children, userRoles));

      // 返回菜单和角色 ID
      return resultSuccess(originTree);
    }
  }
] as MockMethod[];
